<html>
 <head>
  <meta charset="utf-8"/>
  <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"/>
  <title>
   Editor: 漫谈正态分布的生成  | 数螺 | NAUT IDEA
  </title>
  <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" rel="stylesheet"/>
  <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
  <style type="text/css">
   #xmain img {
                  max-width: 100%;
                  display: block;
                  margin-top: 10px;
                  margin-bottom: 10px;
                }

                #xmain p {
                    line-height:150%;
                    font-size: 16px;
                    margin-top: 20px;
                }

                #xmain h2 {
                    font-size: 24px;
                }

                #xmain h3 {
                    font-size: 20px;
                }

                #xmain h4 {
                    font-size: 18px;
                }


                .header {
	           background-color: #0099ff;
	           color: #ffffff;
	           margin-bottom: 20px;
	        }

	        .header p {
                  margin: 0px;
                  padding: 10px 0;
                  display: inline-block;  
                  vertical-align: middle;
                  font-size: 16px;
               }

               .header a {
                 color: white;
               }

              .header img {
                 height: 25px;
              }
  </style>
  <script src="http://cdn.bootcss.com/jquery/3.0.0/jquery.min.js">
  </script>
  <script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript">
   MathJax.Hub.Config({
          tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]},
          TeX: {equationNumbers: {autoNumber: "AMS"}}
        });
  </script>
  <script src="http://nautstatic-10007657.file.myqcloud.com/static/css/readability.min.js" type="text/javascript">
  </script>
  <script type="text/javascript">
   $(document).ready(function() {
                 var loc = document.location;
                 var uri = {
                  spec: "http://cos.name/2015/06/generating-normal-distr-variates/",
                  host: "http://cos.name",
                  prePath: "http://cos.name",
                  scheme: "http",
                  pathBase: "http://cos.name/"
                 };
    
                 var documentClone = document.cloneNode(true);
                 var article = new Readability(uri, documentClone).parse();
     
                 document.getElementById("xmain").innerHTML = article.content;
                });
  </script>
  <!-- 1466440257: Accept with keywords: (title(0.4):中国,统计学,服务平台,正态分布,门户网站, topn(0.666666666667):中心,方差,概率分布,利用,R语言,分布,矩形,C#,主站,均匀分布,计算,文章,方法,正态分布,抽样,随机数,函数,数据,编辑部,随机变量,效率,会议,概率密度函数,统计学,指数分布,代码,算法,评论,独立同分布,反函数).-->
 </head>
 <body class="single single-post postid-11040 single-format-standard sidebar" onload="">
  <div class="header">
   <div class="container">
    <div class="row">
     <div class="col-xs-6 col-sm-6 text-left">
      <a href="/databee">
       <img src="http://nautidea-10007657.cos.myqcloud.com/logo_white.png"/>
      </a>
      <a href="/databee">
       <p>
        数螺
       </p>
      </a>
     </div>
     <div class="hidden-xs col-sm-6 text-right">
      <p>
       致力于数据科学的推广和知识传播
      </p>
     </div>
    </div>
   </div>
  </div>
  <div class="container text-center">
   <h1>
    Editor: 漫谈正态分布的生成
   </h1>
  </div>
  <div class="container" id="xmain">
   <div class="hfeed site" id="page">
    <header class="site-header" id="masthead" role="banner">
     <div id="cos-logo">
      <a href="http://cos.name/">
       <img src="http://cos.name/wp-content/themes/COS-kermesinus/images/headers/cos-logo.png"/>
      </a>
     </div>
     <div class="navbar" id="navbar">
      <nav class="navigation main-navigation" id="site-navigation" role="navigation">
       <h3 class="menu-toggle">
        菜单
       </h3>
       <a class="screen-reader-text skip-link" href="http://cos.name/2015/06/generating-normal-distr-variates/#content" title="跳至内容">
        跳至内容
       </a>
       <div class="menu-%e6%88%91%e7%9a%84%e8%8f%9c%e5%8d%95-container">
        <ul class="nav-menu" id="menu-%e6%88%91%e7%9a%84%e8%8f%9c%e5%8d%95">
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-4746" id="menu-item-4746">
          <a href="http://cos.name">
           主页
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-8120" id="menu-item-8120">
          <a href="http://cos.name/cn">
           论坛
          </a>
          <ul class="sub-menu">
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8124" id="menu-item-8124">
            <a href="http://cos.name/cn/wp-login.php?action=register">
             论坛注册
            </a>
           </li>
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8125" id="menu-item-8125">
            <a href="http://cos.name/cn/wp-login.php">
             论坛登录
            </a>
           </li>
          </ul>
         </li>
         <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8110" id="menu-item-8110">
          <a href="http://cos.name/books/">
           图书资料
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8112" id="menu-item-8112">
          <a href="http://cos.name/videos">
           视频教程
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8333" id="menu-item-8333">
          <a href="http://cos.name/salon/">
           统计沙龙
          </a>
         </li>
         <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8111" id="menu-item-8111">
          <a href="http://cos.name/chinar/">
           R语言会议
          </a>
         </li>
         <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8109" id="menu-item-8109">
          <a href="http://cos.name/training/">
           讲座与培训
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8115" id="menu-item-8115">
          <a href="http://cos.name/cn/forum/comprehensive/job/">
           招聘信息
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-4780" id="menu-item-4780">
          <a href="http://cos.name/about">
           关于我们
          </a>
          <ul class="sub-menu">
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8113" id="menu-item-8113">
            <a href="http://cos.name/2008/11/how-to-work-with-cos/">
             加入我们
            </a>
           </li>
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8119" id="menu-item-8119">
            <a href="http://cos.name/donate/">
             赞助我们
            </a>
           </li>
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8114" id="menu-item-8114">
            <a href="http://cos.name/cn/forum/26">
             项目合作
            </a>
           </li>
          </ul>
         </li>
        </ul>
       </div>
       <form action="http://cos.name/" class="search-form" method="get" role="search">
        <label>
         <span class="screen-reader-text">
          搜索：
         </span>
        </label>
       </form>
      </nav>
      <!-- #site-navigation -->
     </div>
     <!-- #navbar -->
    </header>
    <!-- #masthead -->
    <div class="site-main" id="main">
     <div class="content-area" id="primary">
      <div class="site-content" id="content" role="main">
       <article class="post-11040 post type-post status-publish format-standard hentry category-optim-sim category-computing tag-box-muller tag-ziggurat tag-30 tag-893 tag-244 tag-69 tag-890 tag-889" id="post-11040">
        <header class="entry-header">
         <h1 class="entry-title">
          漫谈正态分布的生成
         </h1>
         <div class="entry-meta">
          <span class="date">
           <a href="http://cos.name/2015/06/generating-normal-distr-variates/" rel="bookmark" title="链向漫谈正态分布的生成的固定链接">
            <time class="entry-date" datetime="2015-06-09T10:47:29+00:00">
             2015/06/09
            </time>
           </a>
          </span>
          <span class="categories-links">
           <a href="http://cos.name/category/computing/optim-sim/" rel="category tag">
            优化与模拟
           </a>
           、
           <a href="http://cos.name/category/computing/" rel="category tag">
            统计计算
           </a>
          </span>
          <span class="tags-links">
           <a href="http://cos.name/tag/box-muller/" rel="tag">
            Box-Muller
           </a>
           、
           <a href="http://cos.name/tag/ziggurat/" rel="tag">
            Ziggurat
           </a>
           、
           <a href="http://cos.name/tag/%e4%b8%ad%e5%bf%83%e6%9e%81%e9%99%90%e5%ae%9a%e7%90%86/" rel="tag">
            中心极限定理
           </a>
           、
           <a href="http://cos.name/tag/%e6%8b%92%e7%bb%9d%e9%87%87%e6%a0%b7/" rel="tag">
            拒绝采样
           </a>
           、
           <a href="http://cos.name/tag/%e6%a8%a1%e6%8b%9f/" rel="tag">
            模拟
           </a>
           、
           <a href="http://cos.name/tag/%e6%ad%a3%e6%80%81%e5%88%86%e5%b8%83/" rel="tag">
            正态分布
           </a>
           、
           <a href="http://cos.name/tag/%e9%80%86%e5%8f%98%e6%8d%a2%e6%b3%95/" rel="tag">
            逆变换法
           </a>
           、
           <a href="http://cos.name/tag/%e9%9a%8f%e6%9c%ba%e6%95%b0/" rel="tag">
            随机数
           </a>
          </span>
          <span class="author vcard">
           <a class="url fn n" href="http://cos.name/author/editor/" rel="author" title="查看所有由COS编辑部发布的文章">
            COS编辑部
           </a>
          </span>
         </div>
         <!-- .entry-meta -->
        </header>
        <!-- .entry-header -->
        <div class="entry-content">
         <blockquote>
          <div>
           本文作者简介：王夜笙，就读于郑州大学信息工程学院，感兴趣的方向为逆向工程和机器学习，长期从事数据抓取工作（长期与反爬虫技术作斗争~），
           <wbr>
           </wbr>
           涉猎较广（技艺不精……），详情请见我的个人博客~
          </div>
          <div>
          </div>
          <div>
           个人博客地址：
           <a href="http://bindog.github.io/blog/" target="_blank">
            http://bindog.github.
            <wbr>
            </wbr>
            io/blog/
           </a>
          </div>
          <div>
           邮箱：
           <a href="mailto:bindog@outlook.com" target="_blank">
            bindog@outlook.com
           </a>
          </div>
         </blockquote>
         <div>
         </div>
         <p>
          感谢
          <a href="http://yixuan.cos.name/cn/" target="_blank">
           怡轩
          </a>
          同学的悉心指导~
         </p>
         <p>
          之前拜读了靳志辉（
          <a href="http://www.weibo.com/rickjin" target="_blank">
           @rickjin
          </a>
          ）老师写的
          <a href="http://cos.name/2013/01/story-of-normal-distribution-1/" target="_blank">
           《正态分布的前世今生》
          </a>
          ，一直对正态分布怀着一颗敬畏之心，刚好最近偶然看到
          <code>
           python
          </code>
          标准库中如何生成服从正态分布随机数的源码，觉得非常有趣，于是又去查找其他一些生成正态分布的方法，与大家分享一下。
         </p>
         <h3>
          利用中心极限定理生成正态分布
         </h3>
         <p>
          设$X_1,X_2,\cdots ,X_n$为独立同分布的随机变量序列，均值为$\mu$，方差为$\sigma^2$，则
         </p>
         <p>
          $$Z_n=\frac{X_1+X_2+\cdots+X_n-n\mu}{\sigma \sqrt n}$$
         </p>
         <p>
          具有渐近分布$N(0,1)$，也就是说当$n \rightarrow \infty$时，
         </p>
         <p>
          $$P\left \{ \frac{X_1+X_2+\cdots+X_n-n\mu}{\sigma \sqrt n} \leq x \right \} \rightarrow \frac{1}{\sqrt{2\pi} } \int_{-\infty }^{x} e^{ -\frac{t^2}{2} } \, dt$$
         </p>
         <p>
          换句话说，$n$个相互独立同分布的随机变量之和的分布近似于正态分布，$n$越大，近似程度越好。当然也有
          <strong>
           例外
          </strong>
          ，比如$n$个独立同分布的服从柯西分布随机变量的算术平均数仍是柯西分布，这里就不扩展讲了。
         </p>
         <p>
          根据中心极限定理，生成正态分布就非常简单粗暴了，直接生成
          <code>
           n
          </code>
          个独立同分布的均匀分布即可，看代码
         </p>
         <p>
          <span id="more-11040">
          </span>
         </p>
         <pre><code># -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np

def getNormal(SampleSize,n):
    result = []
    for i in range(SampleSize):
        # 利用中心极限定理，[0,1)均匀分布期望为0.5，方差为1/12
        iid = (np.mean(np.random.uniform(0,1,n))-0.5)*np.sqrt(12*n)
        result.append(iid)
    return result

# 生成10000个数，观察它们的分布情况
SampleSize = 10000
# 观察n选不同值时，对最终结果的影响
N = [1,2,10,1000]

plt.figure(figsize=(10,20))
subi = 220
for index,n in enumerate(N):
    subi += 1
    plt.subplot(subi)
    normal = getNormal(SampleSize, n)
    # 绘制直方图
    plt.hist(normal,np.linspace(-4,4,81),facecolor="green",label="n={0}".format(n))
    plt.ylim([0,450])
    plt.legend()

plt.show()</code></pre>
         <p>
          得到结果如下图所示
         </p>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/06/generate-normal-1.png">
           <img src="http://cos.name/wp-content/uploads/2015/06/generate-normal-1.png"/>
          </a>
          可以看到，
          <code>
           n=1
          </code>
          时其实就是均匀分布，随着
          <code>
           n
          </code>
          逐渐增大，直方图轮廓越来越接近正态分布了~因此利用中心极限定理暴力生成服从正态分布的随机数是可行的。但是这样生成正态分布速度是非常慢的，因为要生成若干个同分布随机变量，然后求和、计算，效率是非常低的。
         </p>
         <h3>
          利用逆变换法生成正态分布
         </h3>
         <p>
          假设$u=F(x)$是一个概率分布函数(CDF)，$F^{-1}$是它的反函数，若$U$是一个服从$(0,1)$均匀分布的随机变量，则$F^{-1}(U)$服从函数$F$给出的分布。例如要生成一个服从指数分布的随机变量，我们知道指数分布的概率分布函数(CDF)为$F(x)=1 – e^{ – \lambda x}$，其反函数为$F^{-1}(x) = -\frac{\ln (1-x)}{\lambda}$，所以只要不断生成服从$(0,1)$均匀分布的随机变量，代入到反函数中即可生成指数分布。
         </p>
         <p>
          正态分布的概率分布函数(CDF)如下图所示，
         </p>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/06/generate-normal-2.png">
           <img src="http://cos.name/wp-content/uploads/2015/06/generate-normal-2.png"/>
          </a>
          在
          <code>
           y
          </code>
          轴上产生服从(0,1)均匀分布的随机数，水平向右投影到曲线上，然后垂直向下投影到
          <code>
           x
          </code>
          轴，这样在
          <code>
           x
          </code>
          轴上就得到了正态分布。
         </p>
         <p>
          当然正态分布的概率分布函数不方便直接用数学形式写出，求反函数也无从说起，不过好在
          <code>
           scipy
          </code>
          中有相应的函数，我们直接使用即可。
         </p>
         <pre><code># -*- coding: utf-8 -*-

import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import norm

def getNormal(SampleSize):
    iid = np.random.uniform(0,1,SampleSize)
    result = norm.ppf(iid)
    return result

SampleSize = 10000000
normal = getNormal(SampleSize)
plt.hist(normal,np.linspace(-4,4,81),facecolor="green")
plt.show()</code></pre>
         <p>
          结果如下图所示，
         </p>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/06/generate-normal-3.png">
           <img src="http://cos.name/wp-content/uploads/2015/06/generate-normal-3-500x377.png"/>
          </a>
          以上两个方法虽然方便也容易理解，但是效率实在太低，并不实用，那么在实际中到底是如何生成正态分布的呢？
         </p>
         <h3>
          Box–Muller算法
         </h3>
         <p>
          说来也巧，某天闲的无聊突然很好奇
          <code>
           python
          </code>
          是如何生成服从正态分布的随机数的，于是就看了看
          <code>
           random.py
          </code>
          的代码，具体实现的代码就不贴了，大家自己去看，注释中有下面几行
         </p>
         <pre># When x and y are two variables from [0, 1), uniformly
# distributed, then
#
#    cos(2*pi*x)*sqrt(-2*log(1-y))
#    sin(2*pi*x)*sqrt(-2*log(1-y))
#
# are two *independent* variables with normal distribution</pre>
         <p>
          顿时感觉非常神奇，也就是说当$x$和$y$是两个独立且服从$(0,1)$均匀分布的随机变量时，$\cos (2\pi x) \cdot \sqrt { – 2\ln (1 – y)}$和$\sin (2\pi x) \cdot \sqrt { – 2\ln (1 – y)} $是两个独立且服从正态分布的随机变量！
         </p>
         <p>
          后来查了查这个公式，发现这个方法叫做Box–Muller，其实本质上也是应用了逆变换法，证明方法比较多，这里我们选取一种比较好理解的
         </p>
         <p>
          我们把逆变换法推广到二维的情况，设$U_1,U_2$为$(0,1)$上的均匀分布随机变量，$(U_1,U_2)$的联合概率密度函数为$f(u_1,u_2)=1(0 \le u_1,u_2 \le 1)$，若有：
         </p>
         <p>
          $$\left\{\begin{matrix} {U_1} = {g_1}(X,Y)\\ {U_2} = {g_2}(X,Y) \end{matrix}\right.$$
         </p>
         <p>
          其中，$g_1,g_2$的逆变换存在，记为
         </p>
         <p>
          $$\left\{\begin{matrix} x = {h_1}({u_1},{u_2})\\ y = {h_2}({u_1},{u_2}) \end{matrix}\right.$$
         </p>
         <p>
          且存在一阶偏导数，设$J$为Jacobian矩阵的行列式
         </p>
         <p>
          $$ \left | J \right | =\begin{vmatrix} \frac{\partial x}{\partial u_1} &amp; \frac{\partial x}{\partial u_2} \\ \frac{\partial y}{\partial u_1} &amp; \frac{\partial y}{\partial u_2} \end{vmatrix} \ne 0$$
         </p>
         <p>
          则随机变量$(X,Y)$的二维联合密度为（回顾直角坐标和极坐标变换）：
         </p>
         <p>
          $$f[h_1(u_1,u_2),h_2(u_1,u_2)] \cdot \left | J \right | = \left | J \right |$$
         </p>
         <p>
          根据这个定理我们来证明一下，
         </p>
         <p>
          $$\left\{\begin{matrix} Y_1 = \sqrt {- 2\ln X_1} \cos (2\pi X_2) \\ Y_2 = \sqrt {- 2\ln X_1} \sin (2\pi X_2) \end{matrix}\right.$$
         </p>
         <p>
          求反函数得
         </p>
         <p>
          $$\left\{\begin{matrix} X_1 = e^{ – \frac{Y_1^2 + Y_2^2}{2}} \\ X_2 = \frac{1}{2 \pi} \arctan \frac{Y_2}{Y_1} \end{matrix}\right.$$
         </p>
         <p>
          计算Jacobian行列式
         </p>
         <p>
          $$\begin{align} \left | J \right | =\begin{vmatrix} \frac{\partial X_1}{\partial Y_1} &amp; \frac{\partial X_1}{\partial Y_2} \\ \frac{\partial X_2}{\partial Y_1} &amp; \frac{\partial X_2}{\partial Y_2} \end{vmatrix} &amp; = \begin{vmatrix} -Y_1 \cdot e^{ -\frac{1}{2}(Y_1^2 + Y_2^2)} &amp; -Y_2 \cdot e^{-\frac{1}{2}(Y_1^2 + Y_2^2)} \\ -\frac{Y_2}{2 \pi (Y_1^2+Y_2^2)} &amp; \frac{Y_1}{2 \pi (Y_1^2+Y_2^2)} \end{vmatrix} \\ &amp; =e^{-\frac{1}{2}(Y_1^2 + Y_2^2)}[\frac{-Y_1^2}{2 \pi (Y_1^2 + Y_2^2)}-\frac{Y_2^2}{2 \pi (Y_1^2 + Y_2^2)}] \\ &amp; =-\frac{1}{2 \pi}e^{-\frac{1}{2}(Y_1^2 + Y_2^2)} \\ &amp; =-(\frac{1}{\sqrt{2 \pi}}e^{-\frac{1}{2}Y_1^2})(\frac{1}{\sqrt{2 \pi}}e^{-\frac{1}{2}Y_2^2}) \end{align}$$
         </p>
         <p>
          由于$X_1,X_2$为$(0,1)$上的均匀分布，概率密度函数均为$1$，所以$Y_1,Y_2$的联合概率密度函数为$-(\frac{1}{\sqrt{2 \pi}}e^{-\frac{1}{2}Y_1^2})(\frac{1}{\sqrt{2 \pi}}e^{-\frac{1}{2}Y_2^2})$，熟悉二维正态分布的就知道是两个独立的正态分布，所以$Y_1,Y_2$是两个独立且服从正态分布的随机变量~
         </p>
         <p>
          写程序实现一下
         </p>
         <pre><code># -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np

def getNormal(SampleSize):
    iid = np.random.uniform(0,1,SampleSize)
    normal1 = np.cos(2*np.pi*iid[0:SampleSize/2-1])*np.sqrt(-2*np.log(iid[SampleSize/2:SampleSize-1]))
    normal2 = np.sin(2*np.pi*iid[0:SampleSize/2-1])*np.sqrt(-2*np.log(iid[SampleSize/2:SampleSize-1]))
    return np.hstack((normal1,normal2))

# 生成10000000个数，观察它们的分布情况
SampleSize = 10000000
normal = getNormal(SampleSize)
plt.hist(normal,np.linspace(-4,4,81),facecolor="green")
plt.show()</code></pre>
         <p>
          得到的结果如下图所示，
         </p>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/06/generate-normal-4.png">
           <img src="http://cos.name/wp-content/uploads/2015/06/generate-normal-4.png"/>
          </a>
          这里抽样次数达到1千万次，1秒左右就完成了，速度非常快~
         </p>
         <h3>
          Ziggurat算法
         </h3>
         <p>
          Box–Muller算法虽然非常快，但是由于用到了三角函数和对数函数，相对来说还是比较耗时的，如果想要更快一点有没有办法呢？
         </p>
         <p>
          当然有，这就是Ziggurat算法，不仅可以用于快速生成正态分布，还可以生成指数分布等等。Ziggurat算法的基本思想是利用
          <strong>
           拒绝采样
          </strong>
          ，什么是拒绝采样呢？
         </p>
         <p>
          拒绝采样（Rejection Sampling），有的时候也称接收-拒绝采样，使用场景是有些函数$p(x)$太复杂在程序中没法直接采样，那么可以设定一个程序可抽样的分布$q(x)$比如正态分布等等，然后按照一定的方法拒绝某些样本，达到接近$p(x)$分布的目的：
         </p>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/06/generate-normal-5.png">
           <img src="http://cos.name/wp-content/uploads/2015/06/generate-normal-5-500x257.png"/>
          </a>
          具体操作如下，设定一个方便抽样的函数$q(x)$，以及一个常量$k$，使得$p(x)$总在$kq(x)$的下方。（参考上图）
         </p>
         <ul>
          <li>
           $x$轴方向：从$q(x)$分布抽样得到$a$
          </li>
          <li>
           $y$轴方向：从均匀分布$(0, kq(a))$中抽样得到$u$
          </li>
          <li>
           如果刚好落到灰色区域：$u&gt;p(a)$，拒绝；否则接受这次抽样
          </li>
          <li>
           重复以上过程
          </li>
         </ul>
         <p>
          证明过程就不细说了，知道怎么用就行了，感兴趣的可以看看这个文档
         </p>
         <ul>
          <li>
           <a href="http://ac-cf2bfs1v.clouddn.com/eS5xc2TSUPdjJwn3phQV7h6knPXXAQ0oRr4aSlLQ.pdf" target="_blank">
            Acceptance-Rejection Method
           </a>
          </li>
         </ul>
         <p>
          不过在高维的情况下，拒绝采样会出现两个问题，第一是合适的$q$分布比较难以找到，第二是很难确定一个合理的$k$值。这两个问题会造成图中灰色区域的面积变大，从而
          <strong>
           导致拒绝率很高，无用计算增加
          </strong>
          。
         </p>
         <p>
          采用拒绝采样来生成正态分布，最简单直观的方法莫过于用均匀分布作为$q(x)$，但是这样的话，矩形与正态分布曲线间的距离很大，就会出现刚才提到的问题，高效也就无从谈起了。
         </p>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/06/generate-normal-6.png">
           <img src="http://cos.name/wp-content/uploads/2015/06/generate-normal-6.png"/>
          </a>
          而Ziggurat算法高效的秘密在于构造了一个非常精妙的$q(x)$，看下面这张图
         </p>
         <p>
          <a href="http://cos.name/wp-content/uploads/2015/06/generate-normal-7.png">
           <img src="http://cos.name/wp-content/uploads/2015/06/generate-normal-7-461x500.png"/>
          </a>
          我们用多个堆叠在一起的矩形，这样保证阴影部分（被拒绝部分）的始终较小，这样就非常高效了
         </p>
         <p>
          简单对图作一个解释：
         </p>
         <ul>
          <li>
           我们用
           <code>
            R[i]
           </code>
           来表示一个矩形，
           <code>
            R[i]
           </code>
           的右边界为
           <code>
            x[i]
           </code>
           ，上边界为
           <code>
            y[i]
           </code>
           。
           <code>
            S[i]
           </code>
           表示一个分割，当
           <code>
            i=0
           </code>
           时，
           <code>
            S[0]=R[0]+tail
           </code>
           ，其他情况
           <code>
            S[i]==R[i]
           </code>
          </li>
          <li>
           除了
           <code>
            R[0]
           </code>
           以外，其他每个矩形面积相等，设为定值
           <code>
            A
           </code>
           。
           <code>
            R[0]
           </code>
           的面积=A-
           <code>
            tail
           </code>
           的面积。这样保证从任何一个分割中抽样
           <code>
            (x,y)
           </code>
           的概率相等
          </li>
          <li>
           当任意选定一个
           <code>
            R[i]
           </code>
           在其中抽样
           <code>
            (x,y)
           </code>
           ，若
           <code>
            x&lt;x[i+1]
           </code>
           ，
           <code>
            y
           </code>
           必然在曲线下方，满足条件，接受
           <code>
            x
           </code>
           ；若
           <code>
            x[i+1]&lt;x&lt;x[i]
           </code>
           ，则还需要进一步判断。同样这里
           <code>
            R[0]
           </code>
           和
           <code>
            tail
           </code>
           中的样本需要进行特殊处理
          </li>
          <li>
           这里为了方便解释，只用了几个矩形，在程序实现的时候，一般使用
           <code>
            128
           </code>
           或
           <code>
            256
           </code>
           个矩形
          </li>
         </ul>
         <p>
          可以看出，为了提高效率，Ziggurat算法中使用了许多技巧性的东西，这在其
          <code>
           C
          </code>
          代码实现中更加明显，使用了与运算和字节等各种小技巧，代码就不在这里贴了，感兴趣可以看看下面几个版本，
          <code>
           C
          </code>
          版本的追求的是极致的速度，每个矩形的边界已经提前计算好了。
          <code>
           C#
          </code>
          版本中的注释非常详细，
          <code>
           Java
          </code>
          版的基本与
          <code>
           C#
          </code>
          一致，但是效率一般。
         </p>
         <ul>
          <li>
           <a href="http://ac-cf2bfs1v.clouddn.com/SJBmCG5khBNH0sRRi2EJB6WPp3xRlqEcyY2M7GJD.c" target="_blank">
            C
           </a>
          </li>
          <li>
           <a href="http://ac-cf2bfs1v.clouddn.com/PtpTppkFFe7lNDG0yuMcY0d2mDyX03BdkECB28E0.cs" target="_blank">
            C#
           </a>
          </li>
          <li>
           <a href="http://ac-cf2bfs1v.clouddn.com/M9ryG8dCNft3VBvUisrQ9ysa3f3XEb1rX0rj545r.java" target="_blank">
            Java
           </a>
          </li>
         </ul>
         <p>
          最后对比一下Ziggurat算法与Box-muller算法的效率
         </p>
         <h3>
          <a href="http://cos.name/wp-content/uploads/2015/06/generate-normal-8.png">
           <img src="http://cos.name/wp-content/uploads/2015/06/generate-normal-8-500x376.png"/>
          </a>
          总结
         </h3>
         <p>
          本文介绍了多种生成正态分布的方法，其中Box-muller算法应对一般的需求足够了，但是要生成大量服从正态分布的随机数时，Ziggurat算法效率会更高一点~
         </p>
         <p>
          再说点题外话，作为一名普通的程序员，对于很多东西往往不需要了解的非常深入，说白了“会用就行了”。但是有的时候探寻其背后的原理往往能发现别人领会不到的数学之美，这也是写程序之余的一点乐趣吧~
         </p>
         <h3>
          参考资料
         </h3>
         <ul>
          <li>
           <a href="http://www.mathematik.uni-ulm.de/numerik/teaching/ss09/NumFin/Script/chap2_4-2_5.pdf" target="_blank">
            Transformed Random Variables
           </a>
          </li>
          <li>
           <a href="http://math.stackexchange.com/questions/1005236/box-muller-transform-normality" target="_blank">
            Box-Muller Transform Normality
           </a>
          </li>
          <li>
           <a href="http://www.cnblogs.com/daniel-D/p/3388724.html" target="_blank">
            从随机过程到马尔科夫链蒙特卡洛方法
           </a>
          </li>
          <li>
           <a href="http://ac-cf2bfs1v.clouddn.com/uPcW0ce2E0FIDIt53mLwHGJ5s6xTadE4mqVCpsWd.ppt" target="_blank">
            随机数产生原理
           </a>
          </li>
          <li>
           <a href="http://ac-cf2bfs1v.clouddn.com/nNPPeDafleeRW3U073UA4mPbYiAxhgb0soziU5Uo.pdf" target="_blank">
            The Ziggurat Method for Generating Random Variables
           </a>
          </li>
          <li>
           <a href="http://heliosphan.org/zigguratalgorithm/zigguratalgorithm.html" target="_blank">
            The Ziggurat Algorithm for Random Gaussian Sampling
           </a>
          </li>
         </ul>
         <div class="wumii-hook">
          <br/>
          <br/>
         </div>
        </div>
        <!-- .entry-content -->
        <footer class="entry-meta">
         <div class="author-info">
          <div class="author-avatar">
           <img src="http://sdn.geekzu.org/avatar/2fe058e9e383c85afa949b36e869432f?s=74&amp;d=monsterid&amp;r=g"/>
          </div>
          <!-- .author-avatar -->
          <div class="author-description">
           <h2 class="author-title">
            关于COS编辑部
           </h2>
           <p class="author-bio">
            本账户为COS编辑部公共账户，目前由朱雪宁任主编，王小宁任副主编，编辑有：冯璟烁、吴佳萍、张心雨、施涛、霍志骥、何通、冷静、尤晓斌、肖楠、邱怡轩、高涛、谢益辉等人，主要负责主站文章的规范化编辑以及相关论文、书籍、手册的整理、编纂、出版等工作。
            <a class="author-link" href="http://cos.name/author/editor/" rel="author">
             查看所有由COS编辑部发表的文章
             <span class="meta-nav">
              →
             </span>
            </a>
           </p>
          </div>
          <!-- .author-description -->
         </div>
         <!-- .author-info -->
        </footer>
        <!-- .entry-meta -->
       </article>
       <!-- #post -->
       <nav class="navigation post-navigation" role="navigation">
        <h1 class="screen-reader-text">
         文章导航
        </h1>
        <div class="nav-links">
         <a href="http://cos.name/2015/06/china-r-guangzhou/" rel="prev">
          <span class="meta-nav">
           ←
          </span>
          中国R语言（广州）会议-暨华南地区数据科学会议纪要【含演讲资料】
         </a>
         <a href="http://cos.name/2015/06/8th-china-r-beijing-summary/" rel="next">
          第八届中国R语言会议（北京）纪要
          <span class="meta-nav">
           →
          </span>
         </a>
        </div>
        <!-- .nav-links -->
       </nav>
       <!-- .navigation -->
       <div class="comments-area" id="comments">
        <h2 class="comments-title">
         《
         <span>
          漫谈正态分布的生成
         </span>
         》有3个想法
        </h2>
        <ol class="comment-list">
         <li class="comment even thread-even depth-1 parent" id="comment-6740">
          <article class="comment-body" id="div-comment-6740">
           <footer class="comment-meta">
            <div class="comment-author vcard">
             <img src="http://sdn.geekzu.org/avatar/bb0feb76115ecef9b879790477c0a7c2?s=74&amp;d=monsterid&amp;r=g"/>
             <b class="fn">
              itellin
             </b>
             <span class="says">
              说道：
             </span>
            </div>
            <!-- .comment-author -->
            <div class="comment-metadata">
             <a href="http://cos.name/2015/06/generating-normal-distr-variates/#comment-6740">
              <time datetime="2015-06-10T11:56:15+00:00">
               2015/06/10 11:56
              </time>
             </a>
            </div>
            <!-- .comment-metadata -->
           </footer>
           <!-- .comment-meta -->
           <div class="comment-content">
            <p>
             看标题还以为是研究正态分布的生成，看内容还是给出数据后用公式去拟合。
             <br/>
             有没有考虑这样的情况：
             <br/>
             给定一组数：15，5，10，10，10，10
             <br/>
             事后计算它的均值和方差很容易，但是取样是有顺序的：
             <br/>
             5，10，10，10，10，15
             <br/>
             15，5，10，10，10，10
             <br/>
             5，15，10，10，10，10
             <br/>
             10，10，10，10，5，15
             <br/>
             所代表的含义是不一样的。
             <br/>
             有没有人研究这种动态取样所构成的分布，交流一下。
            </p>
           </div>
           <!-- .comment-content -->
           <div class="reply">
            <a aria-label="回复给itellin" class="comment-reply-link" href="http://cos.name/2015/06/generating-normal-distr-variates/?replytocom=6740#respond" onclick='return addComment.moveForm( "div-comment-6740", "6740", "respond", "11040" )' rel="nofollow">
             回复
            </a>
           </div>
          </article>
          <!-- .comment-body -->
          <ol class="children">
           <li class="comment odd alt depth-2" id="comment-6767">
            <article class="comment-body" id="div-comment-6767">
             <footer class="comment-meta">
              <div class="comment-author vcard">
               <img src="http://sdn.geekzu.org/avatar/bbdaeca028f8b4af802477cd247f26ac?s=74&amp;d=monsterid&amp;r=g"/>
               <b class="fn">
                沈力
               </b>
               <span class="says">
                说道：
               </span>
              </div>
              <!-- .comment-author -->
              <div class="comment-metadata">
               <a href="http://cos.name/2015/06/generating-normal-distr-variates/#comment-6767">
                <time datetime="2015-07-15T16:39:45+00:00">
                 2015/07/15 16:39
                </time>
               </a>
              </div>
              <!-- .comment-metadata -->
             </footer>
             <!-- .comment-meta -->
             <div class="comment-content">
              <p>
               随机变量相互独立的话，顺序无论怎么选，都不会影响这个分布，个人之见。
              </p>
             </div>
             <!-- .comment-content -->
             <div class="reply">
              <a aria-label="回复给沈力" class="comment-reply-link" href="http://cos.name/2015/06/generating-normal-distr-variates/?replytocom=6767#respond" onclick='return addComment.moveForm( "div-comment-6767", "6767", "respond", "11040" )' rel="nofollow">
               回复
              </a>
             </div>
            </article>
            <!-- .comment-body -->
           </li>
           <!-- #comment-## -->
           <li class="comment even depth-2" id="comment-6803">
            <article class="comment-body" id="div-comment-6803">
             <footer class="comment-meta">
              <div class="comment-author vcard">
               <img src="http://sdn.geekzu.org/avatar/cf3cd83fae5411b5fd070206e5ddd2ac?s=74&amp;d=monsterid&amp;r=g"/>
               <b class="fn">
                leo
               </b>
               <span class="says">
                说道：
               </span>
              </div>
              <!-- .comment-author -->
              <div class="comment-metadata">
               <a href="http://cos.name/2015/06/generating-normal-distr-variates/#comment-6803">
                <time datetime="2015-08-05T23:00:41+00:00">
                 2015/08/05 23:00
                </time>
               </a>
              </div>
              <!-- .comment-metadata -->
             </footer>
             <!-- .comment-meta -->
             <div class="comment-content">
              <p>
               怎么觉得你回帖没看贴呢，文章说的就是正态分布的生成啊
              </p>
             </div>
             <!-- .comment-content -->
             <div class="reply">
              <a aria-label="回复给leo" class="comment-reply-link" href="http://cos.name/2015/06/generating-normal-distr-variates/?replytocom=6803#respond" onclick='return addComment.moveForm( "div-comment-6803", "6803", "respond", "11040" )' rel="nofollow">
               回复
              </a>
             </div>
            </article>
            <!-- .comment-body -->
           </li>
           <!-- #comment-## -->
          </ol>
          <!-- .children -->
         </li>
         <!-- #comment-## -->
        </ol>
        <!-- .comment-list -->
        <div class="comment-respond" id="respond">
         <h3 class="comment-reply-title" id="reply-title">
          发表评论
          <small>
           <a href="http://cos.name/2015/06/generating-normal-distr-variates/#respond" id="cancel-comment-reply-link" rel="nofollow" style="display:none;">
            取消回复
           </a>
          </small>
         </h3>
         <form action="http://cos.name/wp-comments-post.php" class="comment-form" id="commentform" method="post" novalidate="">
          <p class="comment-notes">
           <span id="email-notes">
            电子邮件地址不会被公开。
           </span>
           必填项已用
           <span class="required">
            *
           </span>
           标注
          </p>
          <p class="comment-form-comment">
           <label for="comment">
            评论
           </label>
           <textarea aria-required="true" cols="45" id="comment" maxlength="65525" name="comment" required="required" rows="8">
           </textarea>
          </p>
          <p class="comment-form-author">
           <label for="author">
            姓名
            <span class="required">
             *
            </span>
           </label>
          </p>
          <p class="comment-form-email">
           <label for="email">
            电子邮件
            <span class="required">
             *
            </span>
           </label>
          </p>
          <p class="comment-form-url">
           <label for="url">
            站点
           </label>
          </p>
          <p class="form-submit">
          </p>
          <p style="display: none;">
          </p>
          <p style="display: none;">
          </p>
         </form>
        </div>
        <!-- #respond -->
       </div>
       <!-- #comments -->
      </div>
      <!-- #content -->
     </div>
     <!-- #primary -->
     <div class="sidebar-container" id="tertiary" role="complementary">
      <div class="sidebar-inner">
       <div class="widget-area">
        <aside class="widget widget_text" id="text-3">
         <h3 class="widget-title">
          关注统计之都
         </h3>
         <div class="textwidget">
          <ul>
           <li>
            新浪微博
            <a href="http://weibo.com/cosname">
             @统计之都
            </a>
           </li>
           <li>
            人人网
            <a href="http://renren.com/cosname">
             @统计之都
            </a>
           </li>
           <li>
            Twitter
            <a href="http://twitter.com/cos_name">
             @cos_name
            </a>
           </li>
          </ul>
         </div>
        </aside>
        <aside class="widget widget_text" id="text-6">
         <h3 class="widget-title">
          微信公众平台
         </h3>
         <div class="textwidget">
          <img src="http://cos.name/wp-content/uploads/2013/04/qrcode-8cm.jpg"/>
          <p style="font-size:12px;margin-left:15px">
           微信号 CapStat
          </p>
          <p>
           我们将第一时间向您推送主站和论坛的精彩内容，以及统计之都的线下活动、竞赛、培训和会议信息。
          </p>
         </div>
        </aside>
        <aside class="widget widget_text" id="text-8">
         <h3 class="widget-title">
          站内导航
         </h3>
         <div class="textwidget">
          <ul>
           <li class="page_item">
            <a href="http://cos.name/cn/">
             中文论坛
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/videos/">
             视频
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/salon/">
             统计沙龙
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/books/">
             图书出版
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/training/">
             教育培训
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/about/">
             关于我们
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/donate/">
             捐赠
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/chinar/">
             R语言会议
            </a>
           </li>
          </ul>
         </div>
        </aside>
        <aside class="widget widget_links" id="linkcat-2">
         <h3 class="widget-title">
          友情链接
         </h3>
         <ul class="xoxo blogroll">
          <li>
           <a href="http://stat.ruc.edu.cn" target="_blank" title="中国人民大学统计学院网站">
            中国人民大学统计学院
           </a>
          </li>
          <li>
           <a href="http://rucdmc.net">
            中国人民大学数据挖掘中心
           </a>
          </li>
          <li>
           <a href="http://birc.gsm.pku.edu.cn/" target="_blank">
            北京大学商务智能研究中心
           </a>
          </li>
          <li>
           <a href="http://sam.cufe.edu.cn/" target="_blank" title="中央财经大学统计与数学学院网站">
            中央财经大学统计与数学学院
           </a>
          </li>
          <li>
           <a href="http://tjx.cueb.edu.cn/" target="_blank" title="首都经济贸易大学统计学院网站">
            首经贸统计学院
           </a>
          </li>
          <li>
           <a href="http://www.shookr.com/">
            数客网大数据社区
           </a>
          </li>
          <li>
           <a href="http://www.xueqing.tv/" target="_blank" title="数据科学在线学习平台">
            雪晴数据网
           </a>
          </li>
          <li>
           <a href="http://iera.name/" target="_blank" title="IERA是一个旨在普及、传播和增进工业工程知识的非营利性网站">
            IERA（直通IE）
           </a>
          </li>
         </ul>
        </aside>
        <aside class="widget widget_categories" id="categories-2">
         <h3 class="widget-title">
          全部分类
         </h3>
         <label class="screen-reader-text" for="cat">
          全部分类
         </label>
         <select class="postform" id="cat" name="cat">
          <option value="-1">
           选择分类目录
          </option>
          <option class="level-0" value="925">
           cos访谈  (4)
          </option>
          <option class="level-0" value="659">
           图书出版  (5)
          </option>
          <option class="level-0" value="379">
           数学方法  (14)
          </option>
          <option class="level-1" value="381">
           分析与代数  (1)
          </option>
          <option class="level-1" value="380">
           概率论  (9)
          </option>
          <option class="level-1" value="382">
           随机过程  (5)
          </option>
          <option class="level-0" value="210">
           数据分析  (81)
          </option>
          <option class="level-1" value="203">
           多元统计  (3)
          </option>
          <option class="level-1" value="42">
           数据挖掘与机器学习  (42)
          </option>
          <option class="level-1" value="36">
           生物与医学统计  (17)
          </option>
          <option class="level-1" value="35">
           计量经济学  (4)
          </option>
          <option class="level-1" value="296">
           金融统计  (3)
          </option>
          <option class="level-1" value="303">
           风险精算  (7)
          </option>
          <option class="level-0" value="177">
           模型专题  (15)
          </option>
          <option class="level-1" value="38">
           回归分析  (10)
          </option>
          <option class="level-1" value="41">
           时间序列  (2)
          </option>
          <option class="level-0" value="784">
           每周精选  (24)
          </option>
          <option class="level-1" value="183">
           可视化  (9)
          </option>
          <option class="level-0" value="967">
           沙龙纪要  (3)
          </option>
          <option class="level-0" value="18">
           经典理论  (46)
          </option>
          <option class="level-1" value="37">
           抽样调查  (3)
          </option>
          <option class="level-1" value="4">
           统计推断  (26)
          </option>
          <option class="level-1" value="236">
           试验设计  (7)
          </option>
          <option class="level-1" value="39">
           非参数统计  (3)
          </option>
          <option class="level-0" value="1">
           统计之都  (279)
          </option>
          <option class="level-1" value="884">
           中国R会议  (2)
          </option>
          <option class="level-1" value="885">
           中国R语言会议  (5)
          </option>
          <option class="level-1" value="446">
           出国留学  (3)
          </option>
          <option class="level-1" value="179">
           推荐文章  (90)
          </option>
          <option class="level-1" value="3">
           新闻通知  (75)
          </option>
          <option class="level-1" value="263">
           统计刊物  (10)
          </option>
          <option class="level-1" value="174">
           网站导读  (40)
          </option>
          <option class="level-1" value="204">
           职业事业  (51)
          </option>
          <option class="level-1" value="213">
           高校课堂  (9)
          </option>
          <option class="level-0" value="178">
           统计计算  (28)
          </option>
          <option class="level-1" value="40">
           优化与模拟  (15)
          </option>
          <option class="level-1" value="43">
           贝叶斯方法  (6)
          </option>
          <option class="level-0" value="378">
           软件应用  (116)
          </option>
          <option class="level-1" value="44">
           统计图形  (36)
          </option>
          <option class="level-1" value="110">
           统计软件  (83)
          </option>
         </select>
        </aside>
        <aside class="widget widget_recent_comments" id="recent-comments-2">
         <h3 class="widget-title">
          最新评论
         </h3>
         <ul id="recentcomments">
          <li class="recentcomments">
           <span class="comment-author-link">
            fineboom
           </span>
           发表在《
           <a href="http://cos.name/2016/06/use-shiny-fleetly-set-up-visual-prototype-system/#comment-7317">
            利用shiny包快速搭建可视化原型系统
           </a>
           》
          </li>
          <li class="recentcomments">
           <span class="comment-author-link">
            胡家新
           </span>
           发表在《
           <a href="http://cos.name/2016/06/r%e8%af%ad%e5%8d%83%e5%af%bb%e7%ac%ac%e4%b8%89%e6%9c%9f%ef%bc%9a%e5%bc%a0%e6%97%a0%e5%bf%8c%e7%a9%b6%e7%ab%9f%e7%88%b1%e8%b0%81%ef%bc%9f/#comment-7316">
            R语千寻第三期：张无忌究竟爱谁？
           </a>
           》
          </li>
          <li class="recentcomments">
           <span class="comment-author-link">
            <a class="url" href="http://www.zijiacha.com/category.php?id=6" rel="external nofollow">
             南糯山普洱茶
            </a>
           </span>
           发表在《
           <a href="http://cos.name/2016/06/r%e8%af%ad%e5%8d%83%e5%af%bb%e7%ac%ac%e4%b8%89%e6%9c%9f%ef%bc%9a%e5%bc%a0%e6%97%a0%e5%bf%8c%e7%a9%b6%e7%ab%9f%e7%88%b1%e8%b0%81%ef%bc%9f/#comment-7315">
            R语千寻第三期：张无忌究竟爱谁？
           </a>
           》
          </li>
          <li class="recentcomments">
           <span class="comment-author-link">
            J
           </span>
           发表在《
           <a href="http://cos.name/2016/05/value-of-the-reputation-from-the-data/#comment-7314">
            数据告诉你：高信誉的卖家应该收高价，还是收低价？
           </a>
           》
          </li>
          <li class="recentcomments">
           <span class="comment-author-link">
            <a class="url" href="http://gg" rel="external nofollow">
             Hilda
            </a>
           </span>
           发表在《
           <a href="http://cos.name/2013/01/drawing-map-in-r-era/#comment-7311">
            R时代，你要怎样画地图？
           </a>
           》
          </li>
         </ul>
        </aside>
        <aside class="widget widget_rss" id="rss-282869971">
         <h3 class="widget-title">
          <a class="rsswidget" href="http://cos.name/cn/topics/feed/">
           <img src="http://cos.name/wp-includes/images/rss.png"/>
          </a>
          <a class="rsswidget" href="http://cos.name/cn/topics/feed/">
           中文论坛新帖
          </a>
         </h3>
         <ul>
          <li>
           <a class="rsswidget" href="http://cos.name/cn/topic/417372/">
            处理时间数据和产生时间序列的问题
           </a>
          </li>
          <li>
           <a class="rsswidget" href="http://cos.name/cn/topic/6790/">
            《统计陷阱》下载 （How to lie with statistics）
           </a>
          </li>
          <li>
           <a class="rsswidget" href="http://cos.name/cn/topic/818/">
            统计学的世界（第五版）
           </a>
          </li>
          <li>
           <a class="rsswidget" href="http://cos.name/cn/topic/16574/">
            class(x) 返回值值是AsIs,AsIs代表什么，有什么用处？
           </a>
          </li>
          <li>
           <a class="rsswidget" href="http://cos.name/cn/topic/417366/">
            如何用R绘制一个分类算法的决策规则
           </a>
          </li>
         </ul>
        </aside>
        <aside class="widget widget_text" id="text-2">
         <h3 class="widget-title">
          登录/RSS
         </h3>
         <div class="textwidget">
          <ul>
           <li>
            <a href="http://cos.name/wp-admin/">
             登录
            </a>
           </li>
           <li>
            <a href="http://cos.name/feed/" title="使用 RSS 2.0 同步站点内容">
             文章
             <abbr title="Really Simple Syndication">
              RSS
             </abbr>
            </a>
           </li>
           <li>
            <a href="http://cos.name/comments/feed/" title="RSS 上的最近评论">
             评论
             <abbr title="Really Simple Syndication">
              RSS
             </abbr>
            </a>
           </li>
          </ul>
         </div>
        </aside>
       </div>
       <!-- .widget-area -->
      </div>
      <!-- .sidebar-inner -->
     </div>
     <!-- #tertiary -->
    </div>
    <!-- #main -->
    <footer class="site-footer" id="colophon" role="contentinfo">
     <div class="site-info">
      版权所有 © 2014 统计之都 | 由
      <a href="http://wordpress.org/">
       WordPress
      </a>
      构建 | 主题修改自
      <a href="http://wordpress.org/themes/twentythirteen">
       Twenty Thirteen
      </a>
     </div>
     <!-- .site-info -->
    </footer>
    <!-- #colophon -->
   </div>
   <!-- #page -->
   <p style="margin:0;padding:0;height:1px;overflow:hidden;">
    <a href="http://www.wumii.com/widget/relatedItems" style="border:0;">
     <img src="http://static.wumii.cn/images/pixel.png"/>
    </a>
   </p>
  </div>
 </body>
</html>